#ifndef __REQUESTFILTER_HEADER
#define __REQUESTFILTER_HEADER

#include "gvj.h"
#include "oj.h"
#include "poj.h"

#include <stdlib.h>
#include <ctype.h>

#include <string>
#include <map>

#define FILTER_OK					0
#define FILTER_OJ_ERROR 			1
#define FILTER_PROBLEM_ERROR 		2
#define FILTER_LANGUAGE_ERROR		3
#define FILTER_CODE_LENGTH_ERROR	4

#define MIN_CODE_LENGTH				10
#define MAX_CODE_LENGTH				9999

struct RequestFilter {
	static const int FIELD_SIZE;

	int operator() (const char *header, 
					std::map<std::string, OJ*> &map_oj_obj);
};

#endif // __REQUESTFILTER_HEADER
